<?php


namespace ImiApp\ApiServer\Api\Controller\task;
// namespace ImiApp\Consumer;
use Imi\Log\Log;
use Imi\Bean\Annotation\Bean;
use Imi\Queue\Contract\IMessage;
use Imi\Queue\Driver\IQueueDriver;
use Imi\Queue\Service\BaseQueueConsumer;

/**
 * @Bean("DelObsFile")
 */
class DelObsFile extends BaseQueueConsumer
{
    /**
     * 删除Obs文件
     *
     * @param \Imi\Queue\Contract\IMessage $message
     * @param \Imi\Queue\Driver\IQueueDriver $queue
     * @return void
     */
    protected function consume(IMessage $message, IQueueDriver $queue): void
    {
        sleep(3600*24);
        // 执行对列的地方
        Log::info(sprintf('删除文件OBS' . '%s ', $message->getMessage()));

        $url = $message->getMessage();

        $是否存在 = false;

        $res = Db::name('goods')
            ->orWhere('video_image', 'like', "%" . $url . "%")
            ->orWhere('video_file', 'like', "%" . $url . "%")
            ->orWhere('image', 'like', "%" . $url . "%")
            ->orWhere('images', 'like', "%" . $url . "%")
            ->orWhere('content', 'like', "%" . $url . "%")
            ->orWhere('content_images', 'like', "%" . $url . "%")
            ->find();
        if ($res) {
            $是否存在 = true;
        } else {



            $res = Db::name('goodslog')
                ->orWhere('video_image', 'like', "%" . $url . "%")
                ->orWhere('video_file', 'like', "%" . $url . "%")
                ->orWhere('image', 'like', "%" . $url . "%")
                ->orWhere('images', 'like', "%" . $url . "%")
                ->orWhere('content', 'like', "%" . $url . "%")
                ->orWhere('content_images', 'like', "%" . $url . "%")
                ->find();
            if ($res) {
                $是否存在 = true;
            } else {

                $res = Db::name('goodssku_price')
                    ->where('image', 'like', "%" . $url . "%")
                    ->find();
                if ($res) {
                    $是否存在 = true;
                } else {
                    $res = Db::name('goodssku_pricelog')
                        ->where('image', 'like', "%" . $url . "%")
                        ->find();
                    if ($res) {
                        $是否存在 = true;
                    } else {
                        //可以继续循环

                    }
                }
            }
        }

        if(!$是否存在){
            Log::info($url.' 不存在商品里面');
            Db::name('attachment')->where('url','=',$url)->update(['del_status'=>'2']);
        }
   
        // 将消息标记为成功
        $queue->success($message);
    }
}
